Hardware devices frequently include hardware resources and clients, the latter which may be software clients or hardware clients. Hardware resources can be conceptualized as those parts of a hardware device that are to perform processing, and thus which may be considered as “producers.” By comparison, clients can be conceptualized as generating tasks that are to be performed, and which may be considered as “consumers.” A client may thus generate a task that a hardware resource is to fulfill or complete.